package paquete;

import paquete.Teclado;
import paquete.Agenda;

public class Apli {

	private Agenda agenda ;
	
	public Apli() {
		agenda = new Agenda();
	}
	private Teclado teclado = new Teclado();	
	
	public void MuestraOpc()
	{
		String texto = new String() ; 
		String opci1 = new String() ;
		String opci2 = new String() ;
		String opci3 = new String() ;
		
		
		/*creo texto opciones */
		texto="			Opciones";
		opci1="1.- Insertar una nueva entrada en la agenda";
		opci2="2.- Buscar una estrada por el nombre y mostrar el resto de datos";
		opci3="3.- Listar todas las entradas de la agenda";
		
		/*lo muestro*/
		System.out.println(texto);
		System.out.println(opci1);
		System.out.println(opci2);
		System.out.println(opci3);
		System.out.println("para salir apretar 4");
	}
	
	public void Run()
	{
						
		/*numero de la opcion*/
		int opcion = 0 ;
		String opcion2;
		
		/*bucle menu espera a opciones*/
		while(opcion !=4){
		
			
			
			/* muestro opciones*/
			MuestraOpc();
			
			/*estrada de datos*/
			opcion2=teclado.leeString();
			
			/*ejecutar las opciones*/
			if(comprobarInt(opcion2, opcion))
			{
				
				opcion = Integer.parseInt(opcion2);
				switch(opcion)
				{
					case 1 : 
					{
							Opc1();
							break;
					}
					case 2 : 
					{
							Opc2();
							break;
					}
					case 3 : 
					{
							Opc3();
							break;
					}
					case 4 : 
					{
							break;
					}
					default :			
						break;
				}
			}
		}
		
		
	}
	
	public void Opc1()
	{
		
		/*inicio variables */
		String nombre="" , apellido1="" , apellido2="", direccion="" ;
		String mobil="" , fijo="" ;
		
		/*pido nombre*/
		System.out.println("dame nombre: ");
		nombre=teclado.leeString();
		/*apellido 1*/
		System.out.println("dame primer apellido : ");
		apellido1=teclado.leeString();
		
		/*apellido 2*/
		System.out.println("dame la direccion");
		apellido2=teclado.leeString();

		/*direccion*/
		System.out.println("dame la direccion");
		direccion=teclado.leeString();
	
		/*fijo*/
		System.out.println("dame el fijo:");
		fijo=teclado.leeString();
	
		/*mobil*/
		System.out.println("dame el mobil");
		mobil=teclado.leeString();	
		
		/*busco espacio libre en el vector o lista */
		Contacto contacto = new Contacto(nombre, apellido1, apellido2, direccion, fijo, mobil) ;
		
		agenda.AddContact(contacto);
		
	}

	public void Opc2()

	{
		//defino variables para pedir nombre
		String Nombre="" ;
		
		//pido nombre 
		System.out.println("dime nombre : \n");
		Nombre = teclado.leeString();
		
		//Mostrar resultadoo de la busqueda
		agenda.DatosContacto(Nombre);
		
	}

	public void Opc3()
	{
		agenda.Listar();
	}

//funcion para saber si es entero o no 
public boolean comprobarInt (String cadena , int numero)
{
	try
	{
		 numero = Integer.parseInt(cadena);
	}
	catch (Exception e)
	{
		System.out.println("valor incorrecto");
		return    false;
	}

	return true;

	}

}
